//
// CDVInputFilters.h
//

#ifndef __H_CDVInputFilters__
#define __H_CDVInputFilters__

#include "CLiveInputFilters.h"

class CDXFilter;
class CDVCaptureFilter;
class CDVInputFilters : public CLiveInputFilters
{
private:
	CDVCaptureFilter *	mDVCapture;
	CDXFilter *			mDVSplitter;
	CDXFilter *			mDVVideoDecoder;

public:
	CDVInputFilters(CDXGraph * inGraph);
	virtual ~CDVInputFilters();

public:
	virtual BOOL Create(void);
	virtual BOOL IsFieldPicture(void);

	virtual IPin * GetVideoOutPin(void);
	virtual IPin * GetPreviewPin(void);
	virtual IPin * GetAudioOutPin(void);

	virtual void ShowVideoCapturePropertyPage(void);
	virtual BOOL IsActiveDeviceLost(IUnknown * pLost);

protected:
	virtual void Release(void);

	void AdjustOutput(void);
	// Check to see if we should insert a smart tee filter
	void CheckSmartTee(void);
};

#endif // __H_CDVInputFilters__